﻿using System;
using System.ComponentModel;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    public class TopPropValue : BaseObject
    {
        //begin
        public TopPropValue(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _Cid;
        [Size(SizeAttribute.Unlimited)]
        public string Cid
        {
            get
            {
                return _Cid;
            }
            set
            {
                SetPropertyValue("Cid", ref _Cid, value);
            }
        }
        private string _Pid;
        [Size(SizeAttribute.Unlimited)]
        public string Pid
        {
            get
            {
                return _Pid;
            }
            set
            {
                SetPropertyValue("Pid", ref _Pid, value);
            }
        }
        private string _PropName;
        [Size(SizeAttribute.Unlimited)]
        public string PropName
        {
            get
            {
                return _PropName;
            }
            set
            {
                SetPropertyValue("PropName", ref _PropName, value);
            }
        }
        private string _Vid;
        [Size(SizeAttribute.Unlimited)]
        public string Vid
        {
            get
            {
                return _Vid;
            }
            set
            {
                SetPropertyValue("Vid", ref _Vid, value);
            }
        }
        private string _Name;
        [Size(SizeAttribute.Unlimited)]
        public string Name
        {
            get
            {
                return _Name;
            }
            set
            {
                SetPropertyValue("Name", ref _Name, value);
            }
        }
        private string _NameAlias;
        [Size(SizeAttribute.Unlimited)]
        public string NameAlias
        {
            get
            {
                return _NameAlias;
            }
            set
            {
                SetPropertyValue("NameAlias", ref _NameAlias, value);
            }
        }
        private bool _IsParent;
        public bool IsParent
        {
            get
            {
                return _IsParent;
            }
            set
            {
                SetPropertyValue("IsParent", ref _IsParent, value);
            }
        }
        private string _Status;
        [Size(SizeAttribute.Unlimited)]
        public string Status
        {
            get
            {
                return _Status;
            }
            set
            {
                SetPropertyValue("Status", ref _Status, value);
            }
        }
        private long _SortOrder;
        public long SortOrder
        {
            get
            {
                return _SortOrder;
            }
            set
            {
                SetPropertyValue("SortOrder", ref _SortOrder, value);
            }
        }
        private TopItemProp _ItemProp;
        [Association("ItemPropPropValues", typeof(TopItemProp))]
        public TopItemProp ItemProp
        {
            get
            {
                return _ItemProp;
            }
            set
            {
                SetPropertyValue("ItemProp", ref _ItemProp, value);
            }
        }
        //end

    }
}
